home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / modellib / malloc_model_init.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-01-16  |  3.3 KB  |  92 lines

  1. /*
  2. ### allocate memory dynamically after selecting or loading a new model ###
  3. */
  4.  
  5. #include <suntool/sunview.h>
  6. #include <suntool/canvas.h>
  7. #include <suntool/panel.h>
  8.  
  9. void malloc_model_init()
  10. {
  11.     double *dvector(),**dmatrix();
  12.     char **svector();
  13.     extern int batch_on,func_on,var_dim,full_dim,func_dim,param_dim;
  14.     extern int var_dim_max,func_dim_max,param_dim_max,all_dim_max;
  15.     extern double *var_i,*var_polar_i,*var_min,*var_max,*var_polar_min,*var_polar_max;
  16.     extern double *v,*t_v,*t_vf,*t_va,*xoffset,*int_yscal,*period_len;
  17.     extern double *win_var_i,*win_var_f,*win_var_i_old;
  18.     extern double *func,*func_i,*func_f,*func_min,*func_max,*func_min_top,*func_max_top;
  19.     extern double *all_min,*all_max,*all_min_top,*all_max_top;
  20.     extern double *param,*param_min,*param_max,*param_min_top,*param_max_top;
  21.     extern char **var_label,**var_polar_label,**func_label,**param_label,**win_var_label,**all_label;
  22.     extern Panel_item *param_item,*var_i_item,*func_i_item,*func_f_item,*all_min_item,*all_max_item,*int_yscal_item;
  23.  
  24.     var_i = dvector(0,var_dim -1);
  25.     var_polar_i = dvector(0,var_dim-1);
  26.     var_min = dvector(0,var_dim-1);
  27.     var_max = dvector(0,var_dim-1);
  28.     var_polar_min = dvector(0,var_dim-1);
  29.     var_polar_max = dvector(0,var_dim-1);
  30.  
  31.     win_var_i = dvector(0,var_dim -1);
  32.     win_var_i_old = dvector(0,var_dim -1);
  33.     win_var_f = dvector(0,var_dim -1);
  34.  
  35.     func = dvector(0,func_dim-1);
  36.     func_i = dvector(0,func_dim-1);
  37.     func_f = dvector(0,func_dim-1);
  38.     func_min = dvector(0,func_dim-1);
  39.     func_max = dvector(0,func_dim-1);
  40.  
  41.     /*
  42.      * In order not to waste the memory, free and reallocate memory
  43.      * dynamically when func_on is turned on by event handlers.
  44.      */
  45.     all_min = dvector(0,full_dim+param_dim-1);
  46.     all_max = dvector(0,full_dim+param_dim-1);
  47.     all_min_top = dvector(0,full_dim+param_dim-1);
  48.     all_max_top = dvector(0,full_dim+param_dim-1);
  49.  
  50.     param = dvector(0,param_dim-1);
  51.     param_min = dvector(0,param_dim-1);
  52.     param_max = dvector(0,param_dim-1);
  53.     param_min_top = dvector(0,param_dim-1);
  54.     param_max_top = dvector(0,param_dim-1);
  55.  
  56.     period_len = dvector(0,full_dim+param_dim-1);
  57.  
  58.     v = dvector(0,full_dim-1);
  59.     t_v = dvector(0,full_dim-1);
  60.     t_vf = dvector(0,full_dim-1);
  61.     t_va = dvector(0,full_dim+param_dim-1);
  62.  
  63.     all_label = svector(0,all_dim_max-1);
  64.     win_var_label = svector(0,all_dim_max-1);
  65.     param_label = svector(0,param_dim_max-1);
  66.     func_label = svector(0,func_dim_max-1);
  67.     /* THe way it should be */
  68.     /*
  69.     all_label = svector(0,full_dim+param_dim-1);
  70.     win_var_label = svector(0,full_dim+param_dim-1);
  71.     param_label = svector(0,param_dim-1);
  72.     func_label = svector(0,func_dim-1);
  73.     */
  74.  
  75.     var_label = svector(0,var_dim_max -1);
  76.     var_polar_label = svector(0,var_dim_max -1);
  77.  
  78.     int_yscal = dvector(0,var_dim-1);
  79.     xoffset = dvector(0,var_dim-1); 
  80.  
  81.     if(!batch_on){
  82.         param_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * param_dim);
  83.         var_i_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * var_dim);
  84.         func_i_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * func_dim);
  85.         func_f_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * func_dim);
  86.         all_min_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * (full_dim+param_dim));
  87.         all_max_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * (full_dim+param_dim));
  88.         int_yscal_item = (Panel_item *) malloc((unsigned) sizeof(Panel_item) * var_dim);
  89.  
  90.     }
  91. }
  92.